Безопасный выход из сессии в мобильном приложении (APP)
Интеграция API-метода logout, глубокая очистка Secure Storage и жесткий сброс состояния навигации UI.
NoteКраткая карточка задачи
- Репозиторий / Компонент:
mobile-app(Клиентское приложение iOS / Android). - Категория: Фронтенд.
- Взаимодействие: Вызов внешнего
HTTP POST /api/v1/auth/logout. - Статус: Готово к реализации
Инструкция по шагам:
- На Шаге 1 (Инициирование лоадера и отправка): По нажатию пользователем на кнопку «Выйти», заблокировать пользовательский интерфейс прелоадером. Сформировать HTTP-запрос согласно спецификации контракта: вставить текущий
Access Tokenв заголовокAuthorizationиrefresh_tokenв тело JSON. - На Шаге 9 (Обработка успешного ответа): При получении ответа
HTTP 200 OK(с флагомSESSION_TERMINATED), запустить локальную процедуру деактивации. Игнорировать инфраструктурные сетевые сбои (DioException таймауты), если запрос фактически ушел. - На Шаге 9-Продолжение (Очистка памяти устройства): Вызвать внутренний метод очистки
SecureStorage.deleteAll(). Убедиться, что стерты абсолютно все чувствительные данные: локальный кэш профиля, Access/Refresh токены и криптографические ключи текущей сессии. - Сброс стейта навигации (Редирект): Сбросить стек роутера навигации до нулевого состояния (очистить историю переходов назад). Выполнить жесткий редирект пользователя на стартовый экран авторизации (Login Screen), предотвращая возможность возврата в закрытый профиль по системной кнопке «Назад».
- На Шаге 1 (Инициирование лоадера и отправка): По нажатию пользователем на кнопку «Выйти», заблокировать пользовательский интерфейс прелоадером. Сформировать HTTP-запрос согласно спецификации контракта: вставить текущий